﻿package org.abc.utils
{   
    import com.adobe.images.PNGEncoder;
    
    import flash.display.BitmapData;
   // import flash.filesystem.*;
    import flash.net.*;
    import flash.utils.*;

	/**
	 * 文件操作类，当前支持在flashplayer中保存图片和文本文件 
	 * @author aishi
	 * 
	 */
	public class FileUtil
	{
		/**
		 * 保存图片 
		 * @param bmd 图片格式数据
		 * @param fileName 要保存的图片名称
		 * 
		 */		
		public static function saveImg(bmd:BitmapData,fileName:String):void{
            var stream:ByteArray = PNGEncoder.encode(bmd);
            var fr:FileReference=new FileReference();
            fr.save(stream,fileName);
		}
		/**
		 * 保存文本文件 
		 * @param data 文本字符串数据
		 * @param fileName 要保存的文本文件名称
		 * 
		 */		
		public static function saveTxt(data:String,fileName:String):void{
            var fr:FileReference=new FileReference();
            fr.save(data,fileName);
		}
		/**
		 * 
		 * @param path
		 * @param data
		 * @return 
		 * 
		 */		
		public static function saveFile(path:String,data:*):void{
			/*//设置保存文件的本地路径，如果不存在则新建一个 
			var file:File =File.desktopDirectory.resolvePath(path); 
			var stream:FileStream = new FileStream; 
			stream.open(file, FileMode.WRITE); 
			// flashplayer默认支持utf-8文本格式，但是需要写入的内容有中文内容
			if(data is ByteArray){
				stream.writeBytes(data, 0,ByteArray(data).bytesAvailable);  
			}else{
				stream.writeMultiByte(data, "utf-8");  
			}
			stream.close(); */
			
		}
		
		/**
		 * 递归返回文件夹及所有子文件中的所有文件路径 
		 * @param folder
		 * @return 
		 * 
		 */		
		public static function readFile(paths:Array,folder:String):Array{
			/*var file:File=File.documentsDirectory.resolvePath(folder)
			var files:Array=[]
			if(file.exists)files=file.getDirectoryListing()

			for(var k:int=0;k<files.length;k++){
				
				if(files[k].isDirectory){
					readFile(paths,files[k].url)
				}else{
					paths.push(files[k].url) 
				} 
				
			}
			
			return paths*/
			return null
			
		}
		/**
		 * 拷贝文件到指定文件夹 
		 * @param url
		 * @param urlcopy
		 * @return 
		 * 
		 */		
		public static function copyFile(url:String,urlcopy:String):void{
			
			//拷贝文件到新建文件夹
			/*var sourceFile:File = File.documentsDirectory;
			sourceFile = sourceFile.resolvePath(url);
			
			var destination:File = File.documentsDirectory;
			destination = destination.resolvePath(urlcopy);
			
			////trace(sourceFile,destination)
			
			try{
				
				sourceFile.copyTo(destination, true);
				
			}catch(e:Error){
				
				//trace(e,url,urlcopy)
				
				////trace(e.message+":"+sourceFile.url)
				
			}*/
			
		}

	}
}